package ModelImplementation

import (
	"SoftwareEngineering/Model"
	"time")


type BiweeklySchedule struct{
	Model.PaymentSchedule
}

func(b *BiweeklySchedule) IsPaydate(payDate time.Time) bool{
	firstPayableFriday := time.Date(2001,11,9,0,0,0,0,time.Local)
	ts := payDate.Sub(firstPayableFriday)
	daysSinceFirstPayableFriday := int(ts.Hours())/24
	mark := daysSinceFirstPayableFriday%14
	return mark == 0
}

func(b *BiweeklySchedule) GetPayPeriodStartDate(payPeriodEndDate time.Time) time.Time{
	return payPeriodEndDate.AddDate(0,0,-13)
}